package com.company.indicationshots.util;

import java.util.Arrays;
import java.util.List;
//计算一组数据的方差
public class VarianceCalculator {
    /**
     * 计算方差
     *
     * @param data 数据数组
     * @return 方差
     */
    public static float calculateVariance(List<Float> data) {

        int count = data.size();
        float mean = 0.0f; // 平均值

        // 计算平均值
        for (float value : data) {
            mean += value;
        }
        mean /= count;

        float variance = 0.0f; // 方差

        // 计算方差
        for (float value : data) {
            variance += Math.pow(value - mean, 2);
        }
        variance /= count; // 对于总体方差使用count，对于样本方差使用count-1

        variance = (float) Math.round(variance * 10) / 10;

        return variance;
    }

}
